<%@ page contentType="text/html;charset=UTF-8" %>
<script>
$(document).ready(function() {
    $('#date').datetimepicker({
        format: "YYYY-MM-DD"
    });
    $('#date1').datetimepicker({
        format: "YYYY-MM-DD"
    });
	$('#jsTable').bootstrapTable({
		 
		  //请求方法
               method: 'get',
               height:590,
        showFooter: true,//必须
        onPostBody:function () {
            //合并页脚
            merge_footer();
        },
               //类型json
               dataType: "json",
               //显示刷新按钮
               showRefresh: true,
               //显示切换手机试图按钮
               showToggle: true,
               //显示 内容列下拉框
    	       showColumns: true,
    	       //显示到处按钮
    	       showExport: true,
    	       //显示切换分页按钮
    	       showPaginationSwitch: true,
    	       //最低显示2行
    	       minimumCountColumns: 2,
               //是否显示行间隔色
               striped: true,
               //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）     
               cache: false,    
               //是否显示分页（*）  
               pagination: true,   
                //排序方式 
               sortOrder: "asc",  
               //初始化加载第一页，默认第一页
               pageNumber:1,   
               //每页的记录行数（*）   
               pageSize: 10,  
               //可供选择的每页的行数（*）    
               pageList: [10, 25, 50, 100],
               //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据  
               url: "${ctx}/fee/js/data",
               //默认值为 'limit',传给服务端的参数为：limit, offset, search, sort, order Else
               //queryParamsType:'',   
               ////查询参数,每次调用是会带上这个参数，可自定义                         
               queryParams : function(params) {
               	var searchParam = $("#searchForm").serializeJSON();
               	searchParam.pageNo = params.limit === undefined? "1" :params.offset/params.limit+1;
               	searchParam.pageSize = params.limit === undefined? -1 : params.limit;
               	searchParam.orderBy = params.sort === undefined? "" : params.sort+ " "+  params.order;
                   return searchParam;
               },
               //分页方式：client客户端分页，server服务端分页（*）
               sidePagination: "server",
               contextMenuTrigger:"right",//pc端 按右键弹出菜单
               contextMenuTriggerMobile:"press",//手机端 弹出菜单，click：单击， press：长按。
               contextMenu: '#context-menu',
               onContextMenuItem: function(row, $el){
                   if($el.data("item") == "edit"){
                   	edit(row.id);
                   } else if($el.data("item") == "delete"){
                        jp.confirm('确认要删除该应收结算单记录吗？', function(){
                       	jp.loading();
                       	jp.get("${ctx}/fee/js/delete?id="+row.id, function(data){
                   	  		if(data.success){
                   	  			$('#jsTable').bootstrapTable('refresh');
                   	  			jp.success(data.msg);
                   	  		}else{
                   	  			jp.error(data.msg);
                   	  		}
                   	  	})
                   	   
                   	});
                      
                   } 
               },
              
               onClickRow: function(row, $el){
               },
               columns: [{
                   field: 'pro',
                   title: '项目',
                   sortable: true,
                   footerFormatter: function (value) {

                       var count = 0.0;
                       var co=0.0;
                       var kp=0.0;
                       for (var i=0; i<value.length;i++) {
                           count += parseFloat(value[i].sl);
                           co += parseFloat(value[i].kpje);
                               kp+=parseFloat(value[i].hxje);
                       }

                       return "筛选合计：  数量："+ count.toFixed(2)+";    开票金额："+co.toFixed(2)+";     核销金额："+kp.toFixed(2);
                   }
                   }
                   ,{
		        field: 'kpje',
		        title: '开票金额',
		        sortable: true

		       
		    },{
		        field: 'date',
		        title: '开票日期',
		        sortable: true
		       
		    },{
                       field: 'hxje',
                       title: '核销金额',
                       sortable: true

                   }
                   ,{
                       field: 'whxje',
                       title: '未核销金额',
                       sortable: true

                   }
                   ,{
                       field: 'spf',
                       title: '受票方',
                       sortable: true

                   },{
                       field: 'fph',
                       title: '发票号',
                       sortable: true

                   },{
                       field: 'status',
                       title: '状态',
                       sortable: true

                   } ,{
                       field: 'fwmc',
                       title: '服务名称',
                       sortable: true

                   }
                   ,{
                       field: 'gg',
                       title: '规格',
                       sortable: true

                   }
                   ,{
                       field: 'dw',
                       title: '单位',
                       sortable: true

                   }
                   ,{
                       field: 'sl',
                       title: '数量',
                       sortable: true

                   }
                   ,{
                       field: 'dj',
                       title: '单价',
                       sortable: true

                   }





		     ]
		
		});
		
		  
	  if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端

		 
		  $('#jsTable').bootstrapTable("toggleView");
		}
	  
	  $('#jsTable').on('check.bs.table uncheck.bs.table load-success.bs.table ' +
                'check-all.bs.table uncheck-all.bs.table', function () {
            $('#remove').prop('disabled', $('#jsTable').bootstrapTable('getSelections').length!=1);
            $('#edit').prop('disabled', $('#jsTable').bootstrapTable('getSelections').length!=1);
          $('#qxhx').prop('disabled', $('#jsTable').bootstrapTable('getSelections').length!=1);
          $('#gz').prop('disabled', $('#jsTable').bootstrapTable('getSelections').length!=1);

      });
		  
		$("#btnImport").click(function(){
			jp.open({
			    type: 1, 
			    area: [500, 300],
			    title:"导入数据",
			    content:$("#importBox").html() ,
			    btn: ['下载模板','确定', '关闭'],
				    btn1: function(index, layero){
					  window.location='${ctx}/fee/js/import/template';
				  },
			    btn2: function(index, layero){
				        var inputForm =top.$("#importForm");
				        var top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe 
				        inputForm.attr("target",top_iframe);//表单提交成功后，从服务器返回的url在当前tab中展示
				        inputForm.onsubmit = function(){
				        	jp.loading('  正在导入，请稍等...');
				        }
				        inputForm.submit();
					    jp.close(index);
				  },
				 
				  btn3: function(index){ 
					  jp.close(index);
	    	       }
			}); 
		});
		    
	  $("#search").click("click", function() {// 绑定查询按扭
		  $('#jsTable').bootstrapTable('refresh');
		});
	 
	 $("#reset").click("click", function() {// 绑定查询按扭
		  $("#searchForm  input").val("");
		  $("#searchForm  select").val("");
		  $("#searchForm  .select-item").html("");
		  $('#jsTable').bootstrapTable('refresh');
		});
		
		
	});
	function gz() {
		var s=status();
		if(s!="已核销"){
			return;
		}
        jp.confirm('确认要关账吗？', function(){
            jp.loading();
            jp.get("${ctx}/fee/js/gz?id=" + getIdSelections(), function(data){
                if(data.success){
                    $('#jsTable').bootstrapTable('refresh');
                    jp.success(data.msg);
                }else{
                    jp.error(data.msg);
                }
            })

        })
    }
    function qxhx() {
        var s=status();
        if(s=="已关账"||s=="未核销"){
            return;
        }
        $("#detil").empty();
		$.ajax({
			url:'${ctx}/fee/js/getdetil?i=' + getIdSelections(),
			dataType:'json',
            async: true, //同步执行，不然会有问题
			success:function (data) {
                $.each(data, function (index,term) {
                    var addTr = $("<tr id='" + term.id + "'></tr>");
                    addTr.appendTo("#detil");
                    addTr.append("<td><input type='checkbox'  id='"+term.id+"'  class='index'  /></td>");
                    addTr.append($('<td></td>').text(term.person));
                    addTr.append($('<td></td>').text(term.type));
                    addTr.append($("<td ></td>").text(term.date));
                    addTr.append($('<td></td>').text(term.money));
                    addTr.append($('<td></td>').text(term.fee));
                    addTr.append($('<td></td>').text(term.remarks));
				})
            }
		})
        $("#model").modal("show");
    }
    function qdqx() {
		var ids="";
        $("[class='index' ]").each(function () {
            if($(this).is(":checked")){
            	var id=this.id;
            	ids+=id+",";
          }
		})
        $.ajax({
            url:'${ctx}/fee/js/qdqx?idd=' + ids,
            async: true, //同步执行，不然会有问题
            success:function (data) {
                $('#jsTable').bootstrapTable('refresh');
                $("#model").modal("hide");
                jp.success("取消成功")
            }
        })


    }
  function getIdSelections() {
        return $.map($("#jsTable").bootstrapTable('getSelections'), function (row) {
            return row.id
        });
    }
function sy() {
    return $.map($("#jsTable").bootstrapTable('getSelections'), function (row) {
        return row.whxje
    });
}
function status() {
    return $.map($("#jsTable").bootstrapTable('getSelections'), function (row) {
        return row.status
    });
}
  function qxkp() {
	 var s=status();
	 if(s!="未核销"){
	 	return;
	 }
      jp.confirm('确认要取消开票吗？', function(){
          jp.loading();
          jp.get("${ctx}/fee/js/qxkp?id=" + getIdSelections(), function(data){
              if(data.success){
                  $('#jsTable').bootstrapTable('refresh');
                  jp.success(data.msg);
              }else{
                  jp.error(data.msg);
              }
          })

      })
  }
  function deleteAll(){

		jp.confirm('确认要删除该应收结算单记录吗？', function(){
			jp.loading();  	
			jp.get("${ctx}/fee/js/deleteAll?ids=" + getIdSelections(), function(data){
         	  		if(data.success){
         	  			$('#jsTable').bootstrapTable('refresh');
         	  			jp.success(data.msg);
         	  		}else{
         	  			jp.error(data.msg);
         	  		}
         	  	})
          	   
		})
  }
   function add(){
       jp.openDialog('新增应收结算单', "${ctx}/fee/js/form",'800px', '500px', $('#jsTable'));

   }
  function hx() {
    if(status()=="已核销"){
    	return;
	}
      jp.openDialog('核销', "${ctx}/fee/recivedDetil/form?i="+getIdSelections()+"&sy="+sy(),'800px', '500px', $('#jsTable'));

  }
function merge_footer() {
    var footer_tbody = $('.fixed-table-footer table tbody');
    var footer_tr = footer_tbody.find('>tr');
    var footer_td = footer_tr.find('>td');
    var footer_td_1 = footer_td.eq(0);
    //第一列为:'平均分',第二列为平局分内容
    for(var i=1;i<footer_td.length;i++) {
        footer_td.eq(i).hide();
    }
    footer_td_1.attr('colspan', 3).show();
}
  function edit(id){//没有权限时，不显示确定按钮
  	  if(id == undefined){
			id = getIdSelections();
		}
      if(status()!="未核销"){
          return;
      }
	  jp.openDialog('编辑应收结算单', "${ctx}/fee/js/form?id=" + id,'1000px', '800px', $('#jsTable'));

  }
  function view(id) {
      jp.openDialogView('查看应收结算单', "${ctx}/fee/js/form?id=" + id,'1000px', '800px', $('#jsTable'));
  }

</script>